![【新サービス】 AWSの各種サービスのバックアップを管理するAWS Backupが登場!](https://devio2023-media.developers.io/wp-content/uploads/2019/01/aws-backup.jpeg)
【新サービス】 AWSの各種サービスのバックアップを管理するAWS Backupが登場!
大栗です。
先程AWSの各種サービスのバックアップの集中管理や自動化を行えるAWS Backup
というサービスがリリースされたのでレポートします。
AWS Backup
AWS Backupはサービスのバックアップを集中管理したり自動化を行えるサービスです。AWSのバックアップを行うサービスとしてはAmazon DLMがありましたが、こちらは対象がEBSのみとなっていました。(APIやCLIの仕様を確認するとEBS以外にも拡張可能な形式になっていましたが。。。)
AWS BackupではEBS以外にも様々な各サービスも対象になっています。現在は以下の5サービスが対象になっています。今までバックアップ機能がなかったEFSにも対応しています!
- Amazon EFS
- Amazon DynamoDB
- Amazon EBS
- Amazon RDS
- AWS Storage Gateway
特徴
サービスの特徴として以下のような点が挙げられています。
- バックアップの集中管理
- バックアッププロセスの自動化
- バックアップのコンプライアンス
- バックアップの活動監視
動作概要はAWS Backupでバックアッププランを作成して、リソースを割り当てて、バックアップを取得する、という動きです。
https://aws.amazon.com/backup/ より引用
クラウド上の各リソースや、Storage Gatewayを通してオンプレミスのデータのバックアップを取得して管理できます。
https://aws.amazon.com/backup/ より引用
対象リージョン
現在AWS Backupをサポートしているリージョンは以下の通りです。
- 米国東部 (バージニア北部)
- 米国東部 (オハイオ)
- EU (アイルランド)
- 米国西部 (オレゴン)
やってみる
実際にAWS Backupを動かして見ます。まだ東京リージョンはサポートされていないのでオレゴンで実行します。また、AWS Backupは多数のサービスがサポートされていますがEBSを対象とします。EBS以外のバックアップは別のブログが上がると期待しています。
スケジュール バックアップとオンデマンド バックアップを試してみます。
スケジュール バックアップの流れは以下のようになります。
- バックアップ対象の確認
- バックアッププランの作成
- バックアッププランにリソースを割り当てる
- バックアップの実行を待つ
オンデマンド バックアップの流れは以下のようになります。
- バックアップ対象の確認
- オンデマンド バックアップの作成
バックアップ対象
対象とするEC2配下のように作成しています。
- インスタンスタイプ: t3.micro
- AMI: amzn2-ami-hvm-2.0.20190115-x86_64-gp2 (ami-032509850cf9ee54e)
- EBS
- /dev/xvda : 10GB (gp2)
- /dev/sdb : 20GB (gp2)
EBSにはタグを以下のように設定しています。
- Key: blog
- Value: aws-backup
スケジュール バックアップ
AWS Backupの設定
AWS Backupのコンソールを開きCreate Backup plan
をクリックします。プラン名はplan-1
とします。
バックアッププランの作成
新しくバックアッププランを立てるためBuild a new plan
を選択します。
項目 | 設定値 | 備考 |
---|---|---|
General: Rule name | blog-1 | |
Schedule: Frequency | Daily | 頻度は、12時間、日次、週次、月次、カスタムcron表現から選択可能です |
Schedule: Backup window | Customize backup window | デフォルトの場合は5:00 UTCから8時間です。 |
Schedule: Backup window start time | 05:30 AM | 時刻はUTC表記 |
Schedule: Start backup within hours | 1時間 | 1時間から12時間まで |
Schedule: Lifecycle Transition to cold storage | Never | ストレージのティアを変更しないため |
Schedule: Lifecycle Expire | Never | ストレージのティアを変更しないため |
Vaultの作成
AWS BackupではVaultという単位のバックアップを管理できます。ここではVaultはデフォルトを使わずに新しく作成します。Backup vault
の項でCreate new Backup vault
をクリックします。
ポップアップが出てくるので、以下の設定でVaultを作成します。
項目 | 設定値 | 備考 |
---|---|---|
Backup vault name | blog-01 | |
KMS encryption master key | (default) aws/backup | AWS BackupデフォルトのKMSキー |
Backup vault tags | Name: blog-1 |
元の画面に戻って作成したVaultを選択します。
バックアッププランにタグを設定します。タグを設定してCreate plan
をクリックして作成します。
項目 | 設定値 | 備考 |
---|---|---|
Key | Name | |
Value | plan-01 |
このようにバックアッププランが作成されます。
バックアッププランにリソースを割り当てる
作成したバックアッププランに対してバックアップ対象のリソースを割り当てます。
バックアッププランのResource assignments
の項のAssign resources
をクリックします。
以下のように設定してAssign resources
をクリックします。
項目 | 設定値 | 備考 |
---|---|---|
General: Resource assignment name | assignment-1 | |
General: IAM Role | Default role | Defaultの場合自動でRoleが作成されます。既存で作成したRoleを選択することも可能。 |
Assign resources: Assign by | Tag | タグとリソースIDから選択可能 |
Assign resources: Key | Name | 今回はEBSのタグ情報 |
Assign resources: Value | aws-backup | 今回はEBSのタグ情報 |
リソース割当が作成されます。
タグを使ってリソース割当を行う場合に対象リソースが分かりにくくなると思うので、タグエディタを使って検索すると良いでしょう。(自分は何度もタグの設定をミスりました)
バックアップの実行
バックアップの実行ですがスケジュール バックアップなので決めた時間帯までおとなしく待ちます。するとバックアップのジョブが作成されます。
作成されたジョブが実行されてスナップショット処理が実行されます。
しばらくするとジョブが完了します。
取得されたスナップショットの説明ではThis snapshot is created by the AWS Backup service.
と記述されていました。
ここまではAmazon DLMとほぼ同等の機能ですが、AWS BackupではVaultという機能があるので同じジョブで取得したバックアップをまとめて管理できます。Backup vaultsの画面で対象Vaultを見ると取得したバックアップの一覧が見えます。
オンデマンド バックアップ
オンデマンド バックアップは任意のタイミングで取得するバックアップです。
AWS BackupのコンソールからProtected resources
を選びCreate on-demand backup
をクリックします。
オンデマンド バックアップの設定を行います。対象リソースの設定は以下のように実施します。タグベースではなくリソースIDを指定します。
項目 | 設定値 | 備考 |
---|---|---|
Resource: Resource type | EBS | |
Resource: Volume ID | 任意のEBSボリューム | |
Resource: Backup window | Customize backup window | |
Resource: Start backup within hours | 1時間 | 1時間から12時間まで |
Schedule: Lifecycle Expire | Never | ストレージのティアを変更しないため |
Vaultは先程作成したblog-01
を使用して、IAM Roleはデフォルトのものを使用します。設定したらCreate on-demand backup
をクリックします。
項目 | 設定値 | 備考 |
---|---|---|
Resource: Backup vault | blog-01 | 先程作成した |
Resource: IAM Role | Default role | Defaultの場合自動でRoleが作成されます。既存で作成したRoleを選択することも可能。 |
作成したバックアップのジョブが表示されます。
完了すると、スケジュール バックアップの場合と同様にEBSのスナップショットが作成されます。
さいごに
AWSのバックアップサービスであるAmazon DLMが半年前にリリースされたのに、もう別のバックアップサービスがリリースされており、混沌としています。AWS Backupは最初からEBS以外のサービスも対象とされており、取得したバックアップの管理機能も備えているので、今後の本命なのだと思われます。今後のバックアップはAmazon DLMだ!と言って変更された方は面倒だと思いますが、EBS以外のバックアップを行う場合にはAWS Backupを検討してはいかがでしょうか?(まだ東京に来ていないけど。。。)
次は今まで出来なかったEFSのバックアップについても検証を行いたいと思います。